package tsj.ai.alibaba.data.analysis.constant;

/**
 * @author taoshujian
 * @version 1.0
 * @since 2025-11-13 11:30:33
 */
public class Constant {
    public static final String PROJECT_PROPERTIES_PREFIX = "spring.ai.alibaba.nl2sql";
    public static final String AGENTId = "2";

    public static final String INPUT_KEY = "input";
    public static final String AGENT_ID = "agentId";
    public static final String RESULT = "result";
    public static final String EVIDENCES = "EVIDENCES";
    public static final String BUSINESS_KNOWLEDGE = "BUSINESS_KNOWLEDGE";
    public static final String SEMANTIC_MODEL = "SEMANTIC_MODEL";

    public static final String QUERY_REWRITE_NODE_OUTPUT = "QUERY_REWRITE_NODE_OUTPUT";
    public static final String KEYWORD_EXTRACT_NODE_OUTPUT = "KEYWORD_EXTRACT_NODE_OUTPUT";
    public static final String TABLE_DOCUMENTS_FOR_SCHEMA_OUTPUT = "TABLE_DOCUMENTS_FOR_SCHEMA";
    public static final String SCHEMA_RECALL_NODE_OUTPUT = "SCHEMA_RECALL_NODE_OUTPUT";
    public static final String COLUMN_DOCUMENTS_BY_KEYWORDS_OUTPUT = "COLUMN_DOCUMENTS_BY_KEYWORDS_OUTPUT";
    public static final String TABLE_RELATION_RETRY_COUNT = "TABLE_RELATION_RETRY_COUNT";
    public static final String TABLE_RELATION_EXCEPTION_OUTPUT = "TABLE_RELATION_EXCEPTION_OUTPUT";
    public static final String TABLE_RELATION_OUTPUT = "TABLE_RELATION_OUTPUT";
    public static final String SQL_GENERATE_SCHEMA_MISSING_ADVICE = "SQL_GENERATE_SCHEMA_MISSING_ADVICE";
    public static final String PLANNER_NODE_OUTPUT = "PLANNER_NODE_OUTPUT";

    public static final String QUERY_REWRITE_NODE = "QUERY_REWRITE_NODE";
    public static final String KEYWORD_EXTRACT_NODE = "KEYWORD_EXTRACT_NODE";
    public static final String SCHEMA_RECALL_NODE = "SCHEMA_RECALL_NODE";
    public static final String TABLE_RELATION_NODE = "TABLE_RELATION_NODE";
    public static final String PLANNER_NODE = "PLANNER_NODE";


    public static final String VECTOR_TYPE = "vectorType";
    public static final String COLUMN = "column";
    public static final String TABLE = "table";
    public static final String KNOWLEDGE_ID = "knowledgeId";

    // nl2sql接口预留相关
    public static final String IS_ONLY_NL2SQL = "IS_ONLY_NL2SQL";

    // Plan validation
    public static final String PLAN_VALIDATION_ERROR = "PLAN_VALIDATION_ERROR";
}
